package main

import "github.com/gin-gonic/gin"

type Article struct {
	Title   string `json:"title"`
	Desc    string `json:"desc"`
	Content string `json:"content"`
}
type News struct {
	TitleN  string `json:"title_n"`
	Content string
}
type Goods struct {
	Name  string
	Price float64
}

func main() {
	r := gin.Default()
	r.LoadHTMLGlob("templates/*")
	r.GET("/", func(context *gin.Context) {
		context.String(200, "值:%v", "首页")
	})
	r.GET("/json", func(context *gin.Context) {
		context.JSON(200, gin.H{
			"success": true,
			"msg":     "您好gin",
		})
	})
	r.GET("/json1", func(context *gin.Context) {
		a := Article{
			Title:   "Gin web",
			Desc:    "gin",
			Content: "gin",
		}
		context.JSON(200, a)
	})
	r.GET("/jsop", func(context *gin.Context) {
		a := Article{
			Title:   "Gin jsonp",
			Desc:    "gin",
			Content: "gin",
		}
		context.JSONP(200, a)
	})
	r.GET("/xml", func(context *gin.Context) {
		context.XML(200, gin.H{
			"success": true,
			"msg":     "您好gin 我是一个xml",
		})
	})
	r.GET("/news", func(context *gin.Context) {
		n := &News{
			TitleN:  "新闻一",
			Content: "佩洛西访台无视一个中国原则",
		}
		context.HTML(200, "news.html", gin.H{
			"title": "我是后台数据news",
			"news":  n,
		})
	})
	r.GET("/goods", func(context *gin.Context) {
		g := Goods{
			Name:  "柑橘",
			Price: 99.99,
		}
		context.HTML(200, "goods.html", gin.H{
			"title": "我是后台数据goods",
			"goods": g,
		})
	})
	r.Run()
}
